/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package demo.access;

/**
 *
 * @author VANDH
 */
public class Main {

    public static void main(String[] args) {
        // đang truy cập tới, đang sử dụng, đang truy xuất class Car
        Car c = new Car();
        MotorBike mb = new MotorBike();

        // member của class, variable, method
        c.start();  // đang sử dụng phương thức
        c.changeGear();
        c.accelerator();
        System.out.println(c.gear); // đang sử dụng biến

        mb.start();
        mb.changeGear();
        mb.changeGear();
        System.out.println(mb.gear);

        Car.count = 4;
        System.out.println(Car.count);
        c.count = 5;
        System.out.println(c.count);

        // Khi AutoCamera là non-static
//        Car.AutoCamera a = new Car().new AutoCamera();
//        a = c.new AutoCamera();

        // Khi AutoCamera là static
        Car.AutoCamera a = new Car.AutoCamera();
        System.out.println(a.getAlertRadius());

        // xyz -> anonymous class
        MotorBike mb2 = new MotorBike() {
            @Override
            public void showSound() {
                System.out.println("My sound of motobike...");
            }
        };
        mb2.showSound();
    }
}
